home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1988-11-09 | 5.1 KB | 143 lines |
- 10 REM COMPU-FLIGHT FLIGHT PLAN FROM 2-85 + 6-85 COMANCHE FLYER
- 20 REM SEE END OF PROGRAM FOR INFO (LINES 1330-)
- 30 KEY OFF : CLS
- 40 ON ERROR GOTO 1290
- 50 INPUT "IS PRINTER AVAILABLE (Y/N) ? ", PR$
- 60 IF PR$ = "Y" OR PR$ = "y" OR PR$ = "YES" OR PR$ = "yes" THEN 70 ELSE 80
- 70 OPEN "LPT1:" FOR OUTPUT AS #1 : GOTO 110
- 80 IF PR$= "N" OR PR$= "n" OR PR$= "NO" OR PR$= "no" THEN 90 ELSE 100
- 90 OPEN "SCRN: " FOR OUTPUT AS #1 : GOTO 110
- 100 BEEP : GOTO 50
- 110 PRINT #1, CHR$(15)
- 120 PRINT #1, "TO: FROM: DATE: TIME OFF:"
- 130 INPUT "USABLE FUEL ON BOARD (GALS)? ",GT
- 140 INPUT "EXTRA FUEL BURN FOR TAXI, CLIMB, APPROACH (GALS)? ",GE
- 150 INPUT "CRUISE FUEL BURN (GPH)? ",GP
- 160 PRINT #1, "(FUEL :";GT;"GALS USABLE LESS";GE;"EXTRA BURN,";GP;"GPH CRUISE)"
- 170 GT = GT-GE
- 180 FT = 60*GT/GP
- 190 REM FUEL TIME
- 200 REM MAIN LOOP
- 210 GOSUB 250: IF D=0 THEN 1050
- 220 GOSUB 960: IF TT=0 THEN 740
- 230 GOSUB 930: GOSUB 980: GOTO 200
- 240 IF TT=0 THEN 1270
- 250 REM INPUT DATA
- 260 LN=LN+1
- 270 DT=D+DT
- 280 TT=INT(TT+TI)
- 290 PRINT
- 300 PRINT "LEG"; LN; ":"
- 310 INPUT "DISTANCE (0 TO END) ?", D
- 320 IF D=0 THEN 1270
- 330 GOSUB 990
- 340 IF AQ THEN 350 ELSE 360
- 350 D=D/1.15
- 360 INPUT "COURSE ?", CO
- 370 IF CO>360 THEN 390
- 380 IF CO<1 THEN 390 ELSE 410
- 390 PRINT "WRONG !!" CHR$(7)
- 400 GOTO 360
- 410 INPUT "TRUE OR MAGNETIC (T/M) ?",CS$
- 420 IF CS$= "T" OR CS$= "t" OR CS$= "TRUE" OR CS$= "true" THEN 430 ELSE 450
- 430 TC=CO
- 440 GOTO 460
- 450 IF CS$<> "M" AND CS$<> "m" THEN 410
- 460 IF MD THEN 470 ELSE 490
- 470 INPUT "SAME VARIATION (Y/N) ?", A$
- 480 IF A$= "Y" OR A$= "y" OR A$= "YES" OR A$= "yes" THEN 500
- 490 INPUT "MAGNETIC VARIATION (+ OR -) ?", MD
- 500 IF CS$= "M" OR CS$="m" OR CS$= "MAG" OR CS$= "mag" THEN 510 ELSE 520
- 510 TC=CO-MD
- 520 IF TAS THEN 530 ELSE 550
- 530 INPUT "SAME AIRSPEED (Y/N) ?", ZA$
- 540 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 590
- 550 INPUT "TRUE AIRSPEED ?", TAS
- 560 GOSUB 990
- 570 IF AQ THEN 580 ELSE 590
- 580 TAS = TAS/1.15
- 590 IF WS THEN 600 ELSE 620
- 600 INPUT "SAME WINDS (Y/N) ?",ZA$
- 610 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 650 ELSE 620
- 620 INPUT "WIND DIRECTION ? ",WD
- 630 IF WD<0 OR WD>360 THEN 620
- 640 INPUT "WIND SPEED (NM) ? ",WS
- 650 WA=(WD+180) /57.2958
- 660 COURSE=TC/57.2958
- 670 WR=WA-COURSE
- 680 WX=SIN(WR)*WS
- 690 WY=COS(WR)*WS
- 700 TX=-WX/TAS
- 710 TH=(ATN(TX/SQR(TX*TX+1))*57.2958)+TC
- 720 GS=(ABS(COS((TH-TC)/57.2958))*TAS)+WY
- 730 TI=60*D/GS
- 740 REM PROGRAM PRINTER
- 750 PRINT #1,CHR$(15)
- 760 PRINT #1, "----------------------------------------------------------------"
- 770 PRINT #1, "LEG";LN,,"TO _______________________________________"
- 780 PRINT #1, "DISTANCE (NM)", INT (D),"TO (VOR) (NDB) __________ FREQ ________"
- 790 PRINT #1, "TRUE COURSE", TC, "FREQ: ATIS ___________________"
- 800 PRINT #1, "MAG VAR", MD, " DEP_________________"
- 810 PRINT #1, "TAS",INT (TAS), " APC _________________"
- 820 PRINT #1, "WIND DIR", WD, " TOWER _______________"
- 830 PRINT #1, "WIND SPEED ",WS, " GROUND _________________"
- 840 IF TH+MD >360 THEN 850 ELSE 870
- 850 TH=TH-360
- 860 GOTO 890
- 870 IF TH+MD <0 THEN 880 ELSE 890
- 880 TH=TH+360
- 890 PRINT #1, "TRUE HEADING ",INT (TH), " UNICOM ___________________"
- 900 PRINT #1, "MAG HEADING", INT (TH+MD), "TPA ____________ MSL ___________ AGL"
- 910 PRINT #1, "GROUND SPEED", INT (GS), "TIME OF ARRIVAL ____________________ "
- 920 PRINT #1, "ETE (MINUTES)", INT (TI), "TIME OFF __________________________ "
- 930 REM OUTPUT DATA
- 940 GOTO 250
- 950 RETURN
- 960 REM PRINTER
- 970 RETURN
- 980 RETURN
- 990 REM NAUTICAL OR STATUTE
- 1000 AQ = 0
- 1010 INPUT "STATUTE OR NAUTICAL (S/N) ? ", A$
- 1020 IF A$ = "S" OR A$ = "s" THEN 1030 ELSE 1040
- 1030 AQ = 1
- 1040 RETURN
- 1050 GOSUB 960
- 1060 PRINT #1, "________________________________________________________ "
- 1070 PRINT #1, "TOTAL DISTANCE = "; INT (DT); "NAUTICAL MILES"
- 1080 PRINT #1, "________________________________________________________ "
- 1090 PRINT #1, "TOTAL TIME = "; TT; "MIN (";INT(TT/60);"HR";TT MOD 60;"MIN)"
- 1100 PRINT #1, "________________________________________________________ "
- 1110 PRINT #1, "TOTAL FUEL BURN = ";INT(GP*TT/60)+INT(GE); "GALLONS"
- 1120 PRINT #1, "________________________________________________________ "
- 1130 IF (FT-TT >0) THEN 1140 ELSE 1180
- 1140 PRINT #1, "FUEL RESERVE = "; INT((FT-TT)/60); "HR";INT(FT-TT-60*INT((FT-TT)/60)); "MIN"
- 1150 PRINT #1, "==============================================================="
- 1160 PRINT #1, "REMEMBER TO CLOSE YOUR FLIGHT PLAN !!!!!!!!!!!!! "
- 1170 PRINT #1, "==============================================================="
- 1180 IF (FT-TT<45) THEN 1190 ELSE 1220
- 1190 PRINT #1, "==============================================================="
- 1200 PRINT #1, "WARNING ! LESS THAN IFR RESERVES !! "
- 1210 PRINT #1, "==============================================================="
- 1220 IF (FT-TT<0) THEN 1230 ELSE 1260
- 1230 PRINT #1, "==============================================================="
- 1240 PRINT #1, "NOT ENOUGH FUEL FOR FLIGHT BY "; INT(TT-FT); "MINUTES"
- 1250 PRINT #1, "==============================================================="
- 1260 PRINT #1, CHR$(27); CHR$(192):END 'RESET PRINTER
- 1270 GOSUB 1050: PRINT #1, CHR$(27); CHR$(192):END
- 1280 REM PUT YOUR GEAR DOWN BEFORE LANDING
- 1290 REM ERROR ROUTINE
- 1300 IF ERR=25 OR ERR=27 THEN PRINT "CHECK PRINTER"
- 1310 CLOSE : RESUME 40
- 1320 ON ERROR GOTO 0
- 1330 REM COPYRIGHT 1985 BY ANGELO A. SGROI ICS#5619
- 1340 REM FOR PROBLEMS OR QUESTIONS CALL (314) 921-1200.
- 1350 REM THIS PROGRAM WAS DESIGNED FOR A TI-99/4A HOME COMPUTER
- 1360 REM YOUR PRINTER MAY REQUIRE DIFFERENT PROGRAMMING.
- 1370 REM SEND SUGGESTED MODIFICATIONS TO
- 1380 REM 110 ALBERT DRIVE
- 1390 REM FLORISSANT, MISSOURI 63031
- 1400 REM THIS PROGRAM WAS MODIFIED FOR AN IBM/PC
- 1410 REM BY BILL GODDARD, ICS #1069, (813) 635-3381.
- 1420 REM 815 N. LAKE REEDY BLVD., FROSTPROOF, FL 33843
-